/**
 * 
 */
package ifpb.edu;

import java.io.Serializable; 
import java.util.HashMap;
import java.util.List;
import java.util.TreeSet;

import com.sun.org.apache.bcel.internal.generic.NEW;

/**
 * @author ricardo & Erick
 *
 */
public class Agencia implements Comparable<Agencia>, Serializable {

	
	//----------------Propriedades------------
	private String nome;
	private String prefixo;
	private TreeSet<Cliente> cliente = new TreeSet<Cliente>();
	private TreeSet<Conta> conta = new TreeSet<Conta>();
	private HashMap<Conta, Cliente> mapa = new HashMap<Conta, Cliente>();
	private int numeroConta;

	//----------------Construtores------------------
	/**
	 * 
	 */
	public Agencia(TreeSet cliente2) {
		cliente = cliente2;
		// TODO Auto-generated constructor stub
	}

	public Agencia(String nome, String prefixo) {
		setNome(nome);
		setPrefixo(prefixo);
	}

	public Agencia(String prefixo){
		setPrefixo(prefixo);
	}
	
	//----------------Método get e set------------------------
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getPrefixo() {
		return prefixo;
	}
	
	public void setPrefixo(String prefixo) {
		this.prefixo = prefixo;
	}

	public TreeSet getCliente() {
		return cliente;
	}

	public void setCliente(TreeSet<Cliente> cliente) {
		this.cliente = cliente;
	}
	
	public TreeSet<Conta> getConta() {
		return conta;
	}

	public void setConta(TreeSet<Conta> conta) {
		this.conta = conta;
	}

	public HashMap<Conta, Cliente> getMapa() {
		return mapa;
	}

	public void setMapa(HashMap<Conta, Cliente> mapa) {
		this.mapa = mapa;
	}
	
	public int getNumeroConta() {
		return numeroConta;
	}

	public void setNumeroConta(int numeroConta) {
		this.numeroConta = numeroConta;
	}
	
	//Demais métodos
	
	//este método adiciona um cliente na árvore de clientes da agência 
	public void cadastrarCliente(Cliente c){
		
		getCliente().add(c);
	}
	
	
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "Agência: " + nome + ", prefixo: " + prefixo + "\n";
	}

	@Override
	public int compareTo(Agencia o) {
		// TODO Auto-generated method stub
		return this.prefixo.compareTo(o.prefixo);
	}
	
	//------------------------------------------------------------

	
	
	
}
